﻿ #region Disclaimer/Info
 
 /////////////////////////////////////////////////////////////////////////////////////////////////
 //
 //   File:		KnownQueries.cs
 //   Website:		http://dexterblogengine.com/
 //   Authors:		http://dexterblogengine.com/About.ashx
 //   Rev:		1
 //   Created:		19/01/2011
 //   Last edit:		19/01/2011
 //   License:		GNU Library General Public License (LGPL)
 //   File:            KnownQueries.cs
 //   For updated news and information please visit http://dexterblogengine.com/
 //   Dexter is hosted to Codeplex at http://dexterblogengine.codeplex.com
 //   For any question contact info@dexterblogengine.com
 //
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 #endregion

using Dexter.Domain.Model;
using Dexter.Repository.NHibernate.Repositories;

namespace Dexter.Repository.NHibernate.Queries {
	/// <summary>
	/// This class contains all registered queries
	/// </summary>
	public static class KnownQueries
	{
		#region Nested type: TagRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="TagRepository"/>
		/// </summary>
		public static class TagRepository {
			/// <summary>
			/// Return the registerd query used in <see cref="TagRepository.GetItemsByTag(int,int,string,bool,bool)"/>.
			/// </summary>
			public static readonly string GetItemsByTag = "Tag_GetItemsByTag";
			/// <summary>
			/// Return the registerd query used in <see cref="TagRepository.GetItemsByTag(int,int,string,bool,bool)"/>.
			/// </summary>
			public static readonly string GetItemsByTagCount = "Tag_GetItemsByTagCount";

			/// <summary>
			/// Return the registerd query used in <see cref="TagRepository.GetPostsByTag(int,int,string,bool,bool)"/>.
			/// </summary>
			public static readonly string GetPostsByTag = "Tag_GetPostsByTag";
			/// <summary>
			/// Return the registerd query used in <see cref="TagRepository.GetPostsByTag(int,int,string,bool,bool)"/>.
			/// </summary>
			public static readonly string GetPostsByTagCount = "Tag_GetPostsByTagCount";
		}

		#endregion

		#region Nested type: BlogRollRepository

		/// <summary>
		/// 	This class contains all registered queries for <see cref = "Repositories.BlogRollRepository" />
		/// </summary>
		public static class BlogRollRepository {
			/// <summary>
			/// 	Return the registerd query used in <see cref = "Repositories.BlogRollRepository.GetListPaged(int,int,bool)" />.
			/// </summary>
			public static readonly string GetBlogRollCount = "BlogRoll_GetBlogRollCount";

			/// <summary>
			/// 	Return the registerd query used in <see cref = "Repositories.BlogRollRepository.GetListPaged(int,int,bool)" />.
			/// </summary>
			public static readonly string GetBlogRollOrdedByPosition = "BlogRoll_GetBlogRollOrdedByPosition";
		}

		#endregion

		#region Nested type: LegacyUrlRepository

		/// <summary>
		/// 	This class contains all registered queries for <see cref = "Repositories.LegacyUrlRepository" />
		/// </summary>
		public static class LegacyUrlRepository
		{
			/// <summary>
			/// 	Return the registerd query used in <see cref = "Repositories.LegacyUrlRepository.GetListPaged(int,int,bool)" />.
			/// </summary>
			public static readonly string GetLegacyUrlCount = "LegacyUrl_GetBlogRollCount";

			/// <summary>
			/// 	Return the registerd query used in <see cref = "Repositories.LegacyUrlRepository.GetListPaged(int,int,bool)" />.
			/// </summary>
			public static readonly string GetLegacyUrl = "LegacyUrl_GetBlogRollOrdedByPosition";
		}

		#endregion

		#region Nested type: CategoryRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="Repository.CategoryRepository"/>
		/// </summary>
		public static class CategoryRepository {
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CategoryRepository.GetAllCategories(bool)"/>.
			/// </summary>
			public static readonly string GetAllCategoriesWithChilds = "Category_GetAllCategories";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CategoryRepository.GetCategoriesStructure(bool)"/>.
			/// </summary>
			public static readonly string GetCategoriesStructureWithChilds = "Category_GetCategoriesStructure";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CategoryRepository.GetDefaultCategory()"/>.
			/// </summary>
			public static readonly string GetDefaultCategory = "Category_GetDefaultCategory";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CategoryRepository.GetDefaultCategoryWithChilds()"/>.
			/// </summary>
			public static readonly string GetDefaultCategoryWithChilds = "Category_GetDefaultCategoryWithChilds";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CategoryRepository.GetCategoryByKeyWithChilds(int,bool)"/>.
			/// </summary>
			public static readonly string GetCategoryByKeyWithChilds = "Category_GetCategoryByKeyWithChilds";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CategoryRepository.GetCategoryByNameWithChilds(string,bool)"/>.
			/// </summary>
			public static readonly string GetCategoryByNameWithChilds = "Category_GetCategoryByNameWithChilds";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CategoryRepository.DeleteCategory(Category, Category)"/>.
			/// </summary>
			public static readonly string GetAllPostsIntoACategory = "Category_GetAllPostsIntoACategory";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CategoryRepository.UpdateCategoryStatistics"/>.
			/// </summary>
			public static readonly string GetPostCountIntoACategory = "Category_GetPostCountIntoACategory";
		}

		#endregion

		#region Nested type: CommentRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="Repository.CommentRepository"/>
		/// </summary>
		public static class CommentRepository {
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CommentRepository.GetApprovedWithBasicItemProperties(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetApprovedWithBasicItemPropertiesCount = "Comment_GetApprovedWithBasicItemPropertiesCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CommentRepository.GetApprovedWithBasicItemProperties(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetApprovedWithBasicItemProperties = "Comment_GetApprovedWithBasicItemProperties";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CommentRepository.GetUnapprovedWithBasicItemProperties(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetUnapprovedWithBasicItemPropertiesCount = "Comment_GetUnapprovedWithBasicItemPropertiesCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CommentRepository.GetUnapprovedWithBasicItemProperties(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetUnapprovedWithBasicItemProperties = "Comment_GetUnapprovedWithBasicItemProperties";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CommentRepository.GetByKeyWithBasicItemProperties(int,bool)"/>.
			/// </summary>
			public static readonly string GetRecentCommentWithBasicItemProperties = "Comment_GetRecentCommentWithBasicItemProperties";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.CommentRepository.GetByKeyWithBasicItemProperties(int,bool)"/>.
			/// </summary>
			public static readonly string GetByKeyWithBasicItemProperties = "Comment_GetByKeyWithBasicItemProperties";
		}

		#endregion

		#region Nested type: EmailRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="Repository.EmailRepository"/>
		/// </summary>
		public static class EmailRepository {
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.EmailRepository.Peek(int)"/>.
			/// </summary>
			public static readonly string Peek = "Email_Peek";
		}

		#endregion

		#region Nested type: PageRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="Repository.PageRepository"/>
		/// </summary>
		public static class PageRepository {
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PageRepository.GetBySlug(string,bool)"/>.
			/// </summary>
			public static readonly string GetBySlug = "Page_GetBySlug";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PageRepository.GetBySlugWithParent(string,bool)"/>.
			/// </summary>
			public static readonly string GetBySlugWithParent = "Page_GetBySlugWithParent";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PageRepository.GetByKey(int,bool)"/>.
			/// </summary>
			public static readonly string GetByKey = "Page_GetByKey";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetCompleteList(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetPagedList = "Page_GetPagedList";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetCompleteList(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetPagedListCount = "Page_GetPagedListCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PageRepository.GetByKeyWithParent(int,bool)"/>.
			/// </summary>
			public static readonly string GetByKeyWithParent = "Page_GetByKeyWithParent";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PageRepository.GetPagesStructureList(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetPagesStructureList = "Page_GetPagesStructureList";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PageRepository.GetPagesStructureRoot()"/>.
			/// </summary>
			public static readonly string GetPagesStructureRootList = "Pages_GetPagesStructureRootList";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PageRepository.GetPagesStructureList(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetPagesStructureListCount = "Page_GetPagesStructureListCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PageRepository.GetAllPagesSlugs()"/>.
			/// </summary>
			public static readonly string GetAllPagesSlugs = "Page_GetAllPagesSlugs";
		}

		#endregion

		#region Nested type: PostRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="Repository.PostRepository"/>.
		/// </summary>
		public static class PostRepository {
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetPublished(int,int,bool,bool)"/>.
			/// </summary>
			public static readonly string GetPublished = "Post_GetPublished";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetPublished(int,int,bool,bool)"/>.
			/// </summary>
			public static readonly string GetPublishedCount = "Post_GetPublishedCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetUnpublished(int,int,bool,bool)"/>.
			/// </summary>
			public static readonly string GetUnpublished = "Post_GetUnpublished";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetUnpublished(int,int,bool,bool)"/>.
			/// </summary>
			public static readonly string GetUnpublishedCount = "Post_UnpublishedCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetCompleteList(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetCompleteList = "Post_GetCompleteList";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetCompleteList(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetCompleteListCount = "Post_GetCompleteListCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetRecent(int,bool,bool)"/>.
			/// </summary>
			public static readonly string GetRecent = "Post_GetRecent";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetMostComment(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetMostComment = "Post_GetMostComment";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetMostComment(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetMostCommentCount = "Post_GetMostCommentCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetByMonth(int,int,int,int,bool,bool)"/>.
			/// </summary>
			public static readonly string GetByMonth = "Post_GetByMonth";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetByMonth(int,int,int,int,bool,bool)"/>.
			/// </summary>
			public static readonly string GetByMonthCount = "Post_GetMostCommentCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetBySlug(string,bool)"/>.
			/// </summary>
			public static readonly string GetBySlug = "Post_GetBySlug";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetUnpublishedForTheSpecifiedDate(int, int,DateTime,bool)"/>.
			/// </summary>
			public static string GetUnpublishedForTheSpecifiedDate = "Post_GetUnpublishedForTheSpecifiedDate";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetUnpublishedForTheSpecifiedDate(int, int,DateTime,bool)"/>.
			/// </summary>
			public static string GetUnpublishedForTheSpecifiedDateCount = "Post_GetUnpublishedForTheSpecifiedDateCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetPublishedPostForSpecifiedPublishDateRange(int, int,DateTime,DateTime)"/>.
			/// </summary>
			public static string GetPublishedPostForSpecifiedPublishDateRangeCount = "Post_GetPublishedPostForSpecifiedPublishDateRangeCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetPublishedPostForSpecifiedPublishDateRange(int, int,DateTime,DateTime)"/>.
			/// </summary>
			public static string GetPublishedPostForSpecifiedPublishDateRange = "Post_GetPublishedPostForSpecifiedPublishDateRange";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.PostRepository.GetByKey(int,bool)"/>.
			/// </summary>
			public static string GetByKey = "Post_GetByKey";
		}

		#endregion

		#region Nested type: ReferrerRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="Repository.ReferrerRepository"/>
		/// </summary>
		public static class ReferrerRepository {
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.ReferrerRepository.GetReferrers(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetReferrers = "Referrer_GetReferrers";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.ReferrerRepository.GetReferrers(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetReferrersCount = "Referrer_GetReferrersCount";
		}

		#endregion

		#region Nested type: TrackBackRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="Repository.TrackBackRepository"/>
		/// </summary>
		public static class TrackBackRepository {
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.TrackBackRepository.IsFirstPingBack(string,System.Uri)"/>.
			/// </summary>
			public static readonly string IsFirstPingBackFromSlug = "TrackBack_IsFirstPingBackFromSlug";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.TrackBackRepository.IsFirstPingBack(int,System.Uri)"/>.
			/// </summary>
			public static readonly string IsFirstPingBackFromPostKey = "TrackBack_IsFirstPingBackFromPostKey";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.TrackBackRepository.GetTrackBack(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetTrackBack = "TrackBack_GetTrackBack";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.TrackBackRepository.GetTrackBack(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetTrackBackCount = "TrackBack_GetTrackBackCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.TrackBackRepository.GetTrackBack(int,int,int,bool)"/>.
			/// </summary>
			public static readonly string GetTrackBackForItemByKey = "TrackBack_GetTrackBackForItemByKey";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.TrackBackRepository.GetTrackBack(int,int,int,bool)"/>.
			/// </summary>
			public static readonly string GetTrackBackForItemByKeyCount = "TrackBack_GetTrackBackForItemByKeyCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.TrackBackRepository.GetTrackBack(string,int,int,bool)"/>.
			/// </summary>
			public static readonly string GetTrackBackForItemBySlugCount = "TrackBack_GetTrackBackForItemBySlugCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.TrackBackRepository.GetTrackBack(string,int,int,bool)"/>.
			/// </summary>
			public static readonly string GetTrackBackForItemBySlug = "TrackBack_GetTrackBackForItemBySlug";
		}

		#endregion

		#region Nested type: UserRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="Repository.UserRepository"/>
		/// </summary>
		public static class UserRepository {
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.GetByKeyWithRoles(int,bool)"/>.
			/// </summary>
			public static readonly string GetByKeyWithRoles = "User_GetByKeyWithRoles";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.GetByKeyWithRoles(int,bool)"/>.
			/// </summary>
			public static readonly string GetByEmailWithRoles = "User_GetUserByEmailWithRoles";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.GetByUsernameWithRoles(string,bool)"/>.
			/// </summary>
			public static readonly string GetByUsernameWithRoles = "User_GetUserByUsernameWithRoles";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.GetByUsernameWithRoles(string,bool)"/>.
			/// </summary>
			public static readonly string GetListOfUserWithRoles = "User_GetListOfUserWithRoles";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.GetListOfUserWithRoles(int,int,bool)"/>.
			/// </summary>
			public static readonly string GetListOfUserWithRolesCount = "User_GetListOfUserWithRolesCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.FindUsersByNameWithRoles(string,int,int,bool)"/>.
			/// </summary>
			public static readonly string FindUsersByNameWithRoles = "User_FindUsersByNameWithRoles";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.FindUsersByNameWithRoles(string,int,int,bool)"/>.
			/// </summary>
			public static readonly string FindUsersByNameWithRolesCount = "User_FindUsersByNameWithRolesCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.FindUsersByEmailWithRoles(string,int,int,bool)"/>.
			/// </summary>
			public static readonly string FindUsersByEmailWithRoles = "User_FindUsersByEmailWithRoles";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.FindUsersByEmailWithRoles(string,int,int,bool)"/>.
			/// </summary>
			public static readonly string FindUsersByEmailWithRolesCount = "User_FindUsersByEmailWithRolesCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.GetOnlineUsers(int)"/>.
			/// </summary>
			public static readonly string GetOnlineUsers = "User_GetOnlineUsers";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.GetAllRoles"/>.
			/// </summary>
			public static string GetAllRoles = "User_GetAllRoles";
			
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.UserRepository.GetAllRoles"/>.
			/// </summary>
			public static string GetAllRolesCount = "User_GetAllRolesCount";
		}

		#endregion

		#region Nested type: RoleRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="Repository.RoleRepository"/>
		/// </summary>
		public static class RoleRepository
		{
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.RoleRepository.GetUsersInRole"/>.
			/// </summary>
			public static string GetUsersInRole = "Role_GetUsersInRole";

			/// <summary>
			/// Return the registerd query used in <see cref="Repositories.RoleRepository.RoleExists"/>.
			/// </summary>
			public static string Exist = "Role_Exist";
		}

		#endregion

		#region Nested type: InboxRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="Repository.InboxRepository"/>
		/// </summary>
		public static class InboxRepository {
			/// <summary>
			/// Return the registerd query used in <see cref="Repository.InboxRepository.GetList"/>.
			/// </summary>
			public static string GetListCount = "Role_GetListCount";

			/// <summary>
			/// Return the registerd query used in <see cref="Repository.InboxRepository.GetList"/>.
			/// </summary>
			public static string GetListOrdedByMessageDate = "Role_GetListOrdedByMessageDate";
		}

		#endregion

		#region Nested type: PluginRepository

		/// <summary>
		/// This class contains all registered queries for <see cref="PluginRepository"/>
		/// </summary>
		public static class PluginRepository
		{
			/// <summary>
			/// Return the registerd query used in <see cref="PluginRepository.GetPluginByIdentifier"/>.
			/// </summary>
			public static readonly string GetPluginByIdentifier = "Plugin_GetPluginByIdentifier";

			/// <summary>
			/// Return the registerd query used in <see cref="PluginRepository.RetrieveDataFromKey"/>.
			/// </summary>
			public static readonly string RetrieveDataFromKey = "Plugin_RetrieveDataFromKey";

			/// <summary>
			/// Return the registerd query used in <see cref="PluginRepository.RetrieveDataForSpecifiedDateRange"/>.
			/// </summary>
			public static readonly string RetrieveDataForSpecifiedDateRange = "Plugin_RetrieveDataForSpecifiedDateRange";

			/// <summary>
			/// Return the registerd query used in <see cref="PluginRepository.RetrieveDataForSpecifiedDateRange"/>.
			/// </summary>
			public static readonly string RetrieveDataForSpecifiedDateRangeCount = "Plugin_RetrieveDataForSpecifiedDateRangeCount";
		}

		#endregion
	}
}
